﻿package frEngine.postProcess.postEffect
{
    import baseEngine.basic.*;
    import flash.display3D.*;
    import flash.geom.*;
    import frEngine.postProcess.*;

    public class PeNonePostEffect extends PostEffectBase
    {
        private var _pass:PostPass;
        private var _hasUpload:Boolean = false;

        public function PeNonePostEffect(param1:PostProcess)
        {
            super(param1);
            this.init();
            return;
        }// end function

        private function init() : void
        {
            this._pass = new PostPass();
            return;
        }// end function

        override public function get hasUpload() : Boolean
        {
            if (!this._hasUpload && this._pass.material.materialParams.program)
            {
                this._hasUpload = this._pass.material.materialParams.program.instanceRegister.hasAssembler;
            }
            return this._hasUpload;
        }// end function

        override public function immediatelyToUpload(param1:Scene3D) : void
        {
            this._pass.material.buildBytes();
            return;
        }// end function

        override public function get renderListLen() : int
        {
            return 0;
        }// end function

        override public function get type() : int
        {
            return EPostEffectType.PeNonePostEffect;
        }// end function

        override public function draw(param1:Context3D) : void
        {
            this._pass.drawGrid(param1);
            return;
        }// end function

        override public function resize(param1:Rectangle) : void
        {
            this._pass.ViewPortResize(param1);
            return;
        }// end function

        override public function ResetInputAndOutput(param1:PostTextureBuffer, param2:PostTextureBuffer) : void
        {
            this._pass.setFs0(param1);
            this._pass.setOutput(param2);
            return;
        }// end function

    }
}
